#include <stdio.h>

int main()
{
    // ENUM 枚举 ：
    // 枚举 的 变量中 从左至右 0 开始;
    enum colors
    {
        RED,
        GREEN,
        BLUE
    };

    // 将 colors 枚举 赋值到 color

    enum colors color;
    // color 枚举出 BLUE;
    color = BLUE;
    printf("%d\n", color); // 赋予的 BLUE 在枚举 colors 中 位列为2 ;

    // 枚举 enum 可声明别名 -> typedef;
    // 别名 用 大括号包裹，里克
    typedef enum
    {
        SHEEP,
        WHEAT,
        WOOD,
        BRICK,
        ORE
    } RESOURCE;
    RESOURCE r;
    // 别名R 赋值 BRICK s 赋值为 WOOD; + DOWN

    // enum
    // {
    //     SHEEP,
    //     WHEAT,

    // } r = BRICK,
    //   s = WOOD;

    printf("%d\n", RED);
    printf("%d\n", GREEN);
    printf("%d\n", BLUE);
    // printf("%d\n", r); // r = 3  s = 2;
    // printf("%d\n", s);
    // enum 常量 可以自定义 整数值;
    // 可以是不连续的值;
    // enum 声明的常量 与 int 声明的 相比， enum 只在该代码块有效-> 在这个枚举常量中 可 使用typedef 声明别名 到指定块，可以更清晰的阅读 这些常量,
    enum
    {
        x = 2,
        y = 18,
        z = -2
    };
    // enum
    // {
    //     x = 2,
    //     y = -18,
    //     z = 2
    // };
    printf("%d\n,%d\n", r, s);

    return 0;
}